<h4>TIPS</h4>
<p>
  他のモジュールやカスタムブロックからのマイルの取得状況・比較を行ないます。<br />
</p>



<!----- mileageTotalMile() ----->
<h5 id="addFunc">アクセスしているユーザのマイル合計を取得する <a href="#" onClick="mileageOpenClose('func_mileageTotalMile', this);return false;" class="hideshow plus">SHOW</a></h5>
<div id="mileage_func_mileageTotalMile" style="display:none;">
  <h6>mileageTotalMile()関数</h6>
  <p>
    smarty プラグインの modifier としても使えます。<br />
  </p>
<pre class="prettyprint">
// カスタムブロックなどの PHP eval() が利用できる場合
echo 'あなたのマイルは ', mileageTotalMile('mileage'), ' です。';

// テンプレートの場合
あなたのマイルは &lt;{'mileage'|mileageTotalMile}&gt; です。</pre>
  <p>
    'mileage' はマイレージモジュールをインストールしたルート側のディレクトリ名です。<br />
    pico モジュールのコンテンツで使う場合は、本文フィルター「Smarty(XoopsTpl)」にチェックを入れて、テンプレートでの記述方法で書くのがよいと思われます。<br />
  </p>
</div>



<!----- mileageCompareMile() ----->
<h5>ユーザのマイル合計と比較する <a href="#" onClick="mileageOpenClose('func_mileageCompareMile', this);return false;" class="hideshow plus">SHOW</a></h5>
<div id="mileage_func_mileageCompareMile" style="display:none;">
  <h6>mileageCompareMile()関数</h6>
  <p>
    smarty プラグインの modifier としても使えます。<br />
  </p>
<pre class="prettyprint">
// カスタムブロックなどの PHP eval() が利用できる場合
if (mileageCompareMile('mileage', 300)) {
  echo 'あなたのマイルは 300 より多いです。';
} else {
  echo 'あなたのマイルは 300 以下です。';
}

// テンプレートの場合
&lt;{if 'mileage'|mileageCompareMile:300}&gt;
  あなたのマイルは 300 より多いです。
&lt;{else}&gt;
  あなたのマイルは 300 以下です。
&lt;{/if}&gt;</pre>
  <p>
    'mileage' はマイレージモジュールをインストールしたルート側のディレクトリ名です。<br />
    上記では「マイル合計 > 300」を比較していますが、第3引数に '<' を指定すると「マイル合計 < 300」も比較できます。<br />
     例）&lt;{if 'mileage'|mileageCompareMile:300:'<'}&gt;<br />
     比較には、'<', '<=', '>', '>=', '==', '!=' が利用できます。<br />
    pico モジュールのコンテンツで使う場合は、本文フィルター「Smarty(XoopsTpl)」にチェックを入れて、テンプレートでの記述方法で書くのがよいと思われます。<br />
  </p>
</div>



<!----- mileageHowManyMiles() ----->
<h5>ユーザの取得マイルの数を取得する <a href="#" onClick="mileageOpenClose('func_mileageHowManyMiles', this);return false;" class="hideshow plus">SHOW</a></h5>
<div id="mileage_func_mileageHowManyMiles" style="display:none;">
  <h6>mileageHowManyMiles()関数</h6>
  <p>
    smarty プラグインの modifier としても使えます。<br />
  </p>
<pre class="prettyprint">
// カスタムブロックなどの PHP eval() が利用できる場合
echo 'あなたは mile_id:1 を ' . mileageHowManyMiles('mileage', 1) . ' つ取得しています。';

// テンプレートの場合
あなたは mile_id:1 を  &lt;{'mileage'|mileageHowManyMiles:1}&gt; つ取得しています。</pre>
  <p>
    'mileage' はマイレージモジュールをインストールしたルート側のディレクトリ名です。<br />
    第3引数は 'YYYYMMDD'形式の日付を指定できます。'20090000'は2009年、'20091100'は2009年11月、'20091101'は2009年11月1日をあらわします。XCATを利用してマイルをグループ化している場合はグループを指定してカウントできるようにしました。mile_id を指定するところで「g1」のように 'g' + 'グループ'(cat_id) を指定します。<br />
    pico モジュールのコンテンツで使う場合は、本文フィルター「Smarty(XoopsTpl)」にチェックを入れて、テンプレートでの記述方法で書くのがよいと思われます。<br />
  </p>
</div>



<!----- mileageDoYouHave() ----->
<h5>マイルの取得有無の確認をする <a href="#" onClick="mileageOpenClose('func_mileageDoYouHave', this);return false;" class="hideshow plus">SHOW</a></h5>
<div id="mileage_func_mileageDoYouHave" style="display:none;">
  <h6>mileageDoYouHave()関数</h6>
  <p>
    smarty プラグインの modifier としても使えます。<br />
  </p>
<pre class="prettyprint">
// カスタムブロックなどの PHP eval() が利用できる場合
if (mileageHowManyMiles('mileage', 1)) {
  echo 'mile_id:1 を取得済みです';
} else {
  echo 'mile_id:1 を未取得です';
}

// テンプレートの場合
&lt;{if 'mileage'|mileageHowManyMiles:1}&gt;
  mile_id:1 を取得済みです
&lt;{else}&gt;
  mile_id:1 を未取得です
&lt;{/if}&gt;</pre>
  <p>
    'mileage' はマイレージモジュールをインストールしたルート側のディレクトリ名です。<br />
    pico モジュールのコンテンツで使う場合は、本文フィルター「Smarty(XoopsTpl)」にチェックを入れて、テンプレートでの記述方法で書くのがよいと思われます。<br />
  </p>
</div>



<!----- userinfo ----->
<h5>アカウント情報に取得したマイレージ合計を表示させる <a href="#" onClick="mileageOpenClose('userinfo', this);return false;" class="hideshow plus">SHOW</a></h5>
<div id="mileage_userinfo" style="display:none;">
  <p>
    ユーザーモジュールのテンプレート「user_userinfo.html」の統計情報の表組みの最後あたりに以下を追加<br />
  </p>
<pre class="prettyprint">
&lt;tr valign="top">
  &lt;td class="head">取得マイレージポイント&lt;/td>
  &lt;td class="&lt;{cycle values='odd,even'}>" style="text-align:center;">
    &lt;{'mileage'|mileageTotalMile:$thisUser->getShow('uid')}>
  &lt;/td>
&lt;/tr></pre>
  <p>
    'mileage' はマイレージモジュールをインストールしたルート側のディレクトリ名です。<br />
    追加したい位置に合わせHTMLは変更してください<br />
  </p>
</div>



<!----- mileage_point_send ----->
<h5>他のモジュールでポイント付与ボタン <a href="#" onClick="mileageOpenClose('point_send', this);return false;" class="hideshow plus">SHOW</a></h5>
<div id="mileage_point_send" style="display:none;">
  <h6>mileage_point_send</h6>
  <p>
    smarty プラグインの function として使います。<br />
    /class/smarty/pluginsにファイルを入れる必要はありません。<br />
  </p>
  <pre class="prettyprint">
&lt;{mileage_point_send dirname=mileage toUid=$uid point=10}></pre>
  <p>
    <input type="button" value="<{$smarty.const._SUBMIT}>">
  </p>
  <pre class="prettyprint">
&lt;{mileage_point_send dirname=mileage toUid=$uid point="10|20|30" submit_word="お礼" unit="ポイント"}></pre>
  <p>
    <select><option>10 ポイント</option><option>20 ポイント</option><option>30 ポイント</option></select>
    <input type="button" value="お礼">
  </p>
  <p>
    <b>パラメータについて</b><br />
    dirname     = マイレージモジュールをインストールしたルート側のディレクトリ名<br />
    toUid       = ポイントを与えたいユーザーのID(uid)<br />
    point       = 数字または '|' で区切った数字<br />
    submit_word = (option) デフォルト: '<{$smarty.const._SUBMIT}>'<br />
    unit        = (option) デフォルト: 'pt'<br />
    name        = (option) デフォルト: '', a-zA-Z_-, 例:{moduleName}_{itemName}<br />
    id          = (option) デフォルト: '', 数字, 例:{ID number}<br />
    fromUid     = (option) 送信できるユーザーID(uid)<br />
    [注意] 'name' と 'id' は一緒にセットし、ユーニクな値になるようにしてください。<br />
  </p>

  <h6>CQA モジュール での回答へのお礼</h6>
  <p>
    テンプレート「cqa_cq_view.html」の回答部分に以下を追加
  </p>
  <pre class="prettyprint">
&lt;{mileage_point_send dirname=mileage toUid=$answer->getShow('uid') point="10|50|100" submit_word="ポイント付与" unit="ポ" name=cqa id=$answer->getShow('ca_id')}>
</pre>
  <p>
    20 ポ<br />
    <select><option>10 ポ</option><option>50 ポ</option><option>100 ポ</option></select>
    <input type="button" value="ポイント付与">
  </p>
  <p>
    ここに表示されるポイント「20 ポ」は送られたポイントで、取得自体は「<{$smarty.const._MI_MILEAGE_BLOCK_NAME_ACCEPT}>」ブロックで行なってください。<br />
    パラメータの 'name' と 'id' をセットすることで、1度しかポイントを与えることができなくなります。また、与えられたポイント合計が表示されます。<br />
    パラメータ 'fromUid' を設定することで、ポイントを与えることができるのは質問者のみになります。<br />
  </p>
</div>



<br /><hr />
<p>
  <a href="index.php?action=Help&amp;dirname=<{$dirname}>" class="inside">戻る</a>
</p>



<script type="text/javascript" src="<{$smarty.const.XOOPS_URL}>/modules/<{$dirname}>/help.js"></script>
<script src="<{$smarty.const.XOOPS_URL}>/modules/<{$dirname}>/prettify.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="<{$smarty.const.XOOPS_URL}>/modules/<{$dirname}>/prettify.css" />
<script>prettyPrint();</script>
<style type="text/css">
<!--
@import "<{$smarty.const.XOOPS_URL}>/modules/<{$dirname}>/help_style.css";
--> 
</style>
